Audio communications commonly take place over computer networks, such as the Internet. For example, many computing applications provide audio chat, video chat, web conferencing, VOIP (Voice Over Internet Protocol), or the like, which enable persons to speak with one another online.
Some audio applications perform local echo cancelation. For instance, when received audio from a remote computer is played back by a local loudspeaker, the loudspeaker's audio may be recorded by the local microphone, causing an echo to be heard at the remote computer. Audio applications may cancel the echo using a process called “system identification.” With system identification, an audio application configures an adaptive filter to mimic a frequency response of the local audio environment. The adaptive filter receives audio from the remote computer (the local playback signal, or “reference”). The adaptive filter produces a filtered version of the reference as an estimate for the echo, and the audio application subtracts the output of the adaptive filter from incoming audio received from a local microphone to effectively cancel the echo.